import React from 'react';
import DynamicCard from '../../../components/common/DynamicCard';

// 动态计算卡片组件实现
const DemoCard2: React.FC = () => {
  // 固定参数配置
  const fixedParameters = [
    {
      name: 'multiplier',
      label: '乘数因子',
      required: true,
      min: 0,
      step: 0.1,
      defaultValue: 1.0,
      tooltip: '用于计算结果的乘数'
    }
  ];

  return (
    <DynamicCard
      title="动态输入计算演示"
      formKey="demo-2"
      calculationType="demo-2"
      minInputs={2} // 最少2个输入项
      maxInputs={15} // 最多15个输入项
      defaultInputValue={8} // 默认输入值为8
      defaultInputs={[{ value: 8 }, { value: 8 }]} // 明确设置2个默认输入项
      disableAddInput={false} // 确保添加按钮可用
      disableRemoveInput={false} // 确保删除按钮可用
      columnCount={2} // 使用2列布局
      tableHeight={400} // 设置表格高度为400px
      formula="sum = Σx_i, multipliedSum = sum × multiplier, average = sum/n"
      // 可以自定义input标签格式化函数
      inputLabelFormatter={(index: number) => `输入项 ${index + 1}`}
      // 配置固定参数
      fixedParameters={fixedParameters}
      // 简化 resultFormatter：优先使用后端已格式化的结果
      resultFormatter={(data: any) => {
        // 如果后端返回了预格式化的结果，则直接使用
        if (data.formattedResults && Array.isArray(data.formattedResults)) {
          return data.formattedResults;
        }
        
        // 否则使用默认的格式化方式
        return [
          { key: 'itemCount', name: '输入项数量', value: data.itemCount || 0, unit: '个' },
          { key: 'sum', name: '输入值总和', value: data.sum || 0, unit: '' },
          { key: 'average', name: '平均值', value: data.average || 0, unit: '' },
          { key: 'sumMultipliedByThree', name: '总和×乘数', value: data.sumMultipliedByThree || 0, unit: '' },
        ];
      }}
    />
  );
};

export default DemoCard2;